.ol-control.ol-select {
  top: .5em;
  left: 3em;
}
.ol-control.ol-select > button:before {
  content: "";
  position: absolute;
  box-sizing: border-box;
  width: .73em;
  height: .73em;
  background-color: transparent;
  border: .12em solid currentColor;
  border-radius: 100%;
  top: .35em;
  left: .35em;
}
.ol-control.ol-select > button:after {
  content: "";
  position: absolute;
  box-sizing: border-box;
  top: 1.1em;
  left: 1em;
  border-width: .08em .23em;
  border-style: solid;
  border-radius: .03em;
  transform: rotate(45deg);
  box-shadow: -0.18em 0 0 -0.03em;
}
.ol-select > div button {
    width: auto;
    padding: 0 .5em;
    float: right;
    font-weight: normal;
}
.ol-select .ol-delete {
    width: 1.5em;
  height: 1em;
  vertical-align: middle;
  display: inline-block;
  position: relative;
  cursor: pointer;
}
.ol-select .ol-delete:before {
  content:'\00d7';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  text-align: center;
  font-weight: bold;
}
.ol-control.ol-select input {
  font-size: 1em;
}
.ol-control.ol-select select {
  font-size: 1em;
  max-width: 10em;
}
.ol-control.ol-select select option.ol-default {
  color: #999;
  font-style: italic;
}
.ol-control.ol-select > div {
  display: block;
}
.ol-control.ol-select.ol-collapsed > div {
  display: none;
}
.ol-control.ol-select.ol-select-check {
  max-width: 20em;
}
.ol-control.ol-select.ol-select-check label,
.ol-control.ol-select-check div {
  position: relative;
  display: inline-block;
}
.ol-control.ol-select.ol-select-condition input,
.ol-control.ol-select.ol-select-check input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}
.ol-control.ol-select.ol-select-condition label div {
  position: relative;
  padding: 0 1em 0 2em;
}
.ol-control.ol-select.ol-select-condition label div:before {
  content: "";
  position: absolute;
  left: 0;
  height: 1.1em;
  width: 1.8em;
  background-color: rgba(192,192,192,.7);
  box-sizing: border-box;
  border-radius: 1em;
}
.ol-control.ol-select.ol-select-condition label div:after {
  content: "";
  position: absolute;
  left: .1em;
  top: .1em;
  height: .9em;
  width: .9em;
  background-color: #fff;
  box-sizing: border-box;
  border-radius: 1em;
  transition: .3s;
}
.ol-control.ol-select.ol-select-condition input:checked ~ div:after {
  left: .7em;
}

.ol-control.ol-select.ol-select-check label > div {
  padding: 0 1em 0 1.5em;
}
.ol-control.ol-select.ol-select-check label > div:before {
  content: "";
  position: absolute;
  width: 1.1em;
  height: 1.1em;
  left: .2em;
  background-color: rgba(192,192,192,.7);
  box-sizing: border-box;
}
.ol-control.ol-select.ol-select-check label.ol-radio > div:before {
  border-radius: 50%;
}
.ol-control.ol-select.ol-select-condition label > div:hover:before,
.ol-control.ol-select.ol-select-check label > div:hover:before {
  background-color: rgba(128,128,128,.7);
}
.ol-control.ol-select.ol-select-condition input:checked ~ div:before,
.ol-control.ol-select.ol-select-check input:checked ~ div:before {
  background-color: rgba(0,60,136,.7);
}
.ol-control.ol-select.ol-select-check label.ol-checkbox input:checked ~ div:after {
  content: "";
  position: absolute;
  width: .5em;
  height: .8em;
  top: .05em;
  left: .5em;
  border: 2px solid #fff;
  border-width: 0 3px 3px 0;
  transform: rotate(45deg);
  box-sizing: border-box;
}
.ol-control.ol-select.ol-select-check label.ol-radio input:checked ~ div:before {
  border: .3em solid rgba(0,60,136,.7);
  background-color: #fff;
}

.ol-select ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.ol-control.ol-select input[type="text"]  {
  width: 8em;
}

.ol-select .ol-autocomplete {
  display: inline;
}
.ol-select .ol-autocomplete ul {
  position: absolute;
  display: block;
  background: #fff;
  border: 1px solid #999;
  min-width: 10em;
  font-size: .85em;
}
.ol-select .ol-autocomplete ul li {
  padding: 0 .5em;
}
.ol-select .ol-autocomplete ul li:hover {
  color: #fff;
  background: rgba(0,60,136,.5);
}
.ol-select ul.ol-hidden {
  display: none;
}

.ol-select-multi li > div:hover,
.ol-select-multi li > div.ol-control.ol-select {
  position: relative;
  top: unset;
  left: unset;
  background: transparent;
}
.ol-select-multi li > div  > button,
.ol-select-multi li > div  .ol-ok {
  display: none;
}
.ol-select-multi li .ol-control.ol-select.ol-collapsed > div,
.ol-select-multi li > div  > div {
  display: block;
}
